'use strict';

// 引入模块
let http = require('http');
let path = require('path');
let url = require('url');
let fs = require('fs');

// 使用path模块处理当前路径 绝对路径
let currentPath = path.resolve('.');

console.log(currentPath);


//建立一个服务器来玩玩
let server = http.createServer((req, res) => {
    // 请求的路径 形如 /p9
    console.log(req.url);//载入的文件

    //当前工作的根目录加上请求路径，取得请求的绝对路径
    let filePath = path.join(currentPath, req.url);
    console.log(filePath);

    //  读取路径下所有的文件或文件夹
    let files = fs.readdirSync(filePath);

    console.log(files);

    //遍历读取出来的文件或文件夹，判断有没有index.html 或者 default.html
    files.forEach(element => {
        // 如果在 filePath 目录中找到index或者default
        if (element === 'index.html' || element === 'default.html') {
            let fullPath = path.join(filePath, element);
            
            console.log(fullPath);
            fs.readFile(fullPath, (err, data) => {
                if (!err) {
                    res.write(req.url);
                    res.end(data);
                } else {
                    res.writeHead(404);
                    res.write('<head><meta charset="utf8"/></head>');
                    res.end('好像有找到文件，但是显示不出来');
                }
            })
        }
    });
});

server.listen(3000);

console.log('当前服务运行在如下地址：http://127.0.0.1:3000');